A Comparative Study of Device Driver APIs Towards a Uniform Linux Approach

نویسندگان

  • Wadih Zaatar
  • Iyad Ouaiss
چکیده

Linux Application Program Interfaces (APIs) lack stability and standardization. There is a need for a standard API for Linux device drivers that allow backward compatibility while easing the development of new drivers. The advantage of standardizing the API is to make the kernel core more robust and the development of new drivers easier; however the main challenge is performance-based. This work starts by carefully studying the available APIs for Linux as well as for other platforms. Current solutions studied include the Uniform Driver Interface (UDI), the Intelligent I/O architecture (I2O), WinDriver, and APIs implemented in Solaris, and Windows XP. By listing the strengths and weaknesses of available APIs, a proposal for a new Linux API is constructed that defines a standard interface, provides backward compatibility, ensures kernel security, and handles errors, uniform block sizes, buffering, etc.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Fast and Precise Retrieval of Forward and Back Porting Information for Linux Device Drivers

Porting Linux device drivers to target more recent and older Linux kernel versions to compensate for the everchanging kernel interface is a continual problem for Linux device driver developers. Acquiring information about interface changes is a necessary, but tedious and error prone, part of this task. In this paper, we propose two tools, Prequel and gcc-reduce, to help the developer collect th...

متن کامل

Improving Device Driver Reliability through Decoupled Dynamic Binary Analyses

Device drivers are Operating Systems (OS) extensions that enable the use of I/O devices in computing systems. However, studies have identified drivers as an Achilles’ heel of system reliability, their high fault rate accounting for a significant portion of system failures. Consequently, significant effort has been directed towards improving system robustness by protecting system components (e.g...

متن کامل

Modular Semi-automatic Formal Verification of Critical Systems Software ; Modulaire halfautomatische formele verificatie van kritische systeemsoftware

In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP keyboard driver. Our verification approach is (a) sound, (b) takes into account dynamic memory allocation, complex API rules and concurrency, and (c) is applied on a real kernel driver which was not written with verification in mind. We employ VeriFast, a software verifier based on separation lo...

متن کامل

The Linux Device File-System

The Device File-System (devfs) provides a powerful new device management mechanism for Linux. Unlike other existing and proposed device management schemes, it is powerful, flexible, scalable and efficient. It is an alternative to conventional disc-based character and block special devices. Kernel device drivers can register devices by name rather than device numbers, and these device entries wi...

متن کامل

Avinux: Towards Automatic Verification of Linux Device Drivers

Avinux is a tool that facilitates the automatic analysis of Linux and especially of Linux device drivers. The tool is implemented as a plugin for the Eclipse IDE, using the source code bounded model checker CBMC as its backend. Avinux supports a verification process for Linux that includes specification annotation in SLICx (an extension of the SLIC language), automatic data environment creation...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007